﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace QL_DonDatHang
{
    public partial class Form_ThaoTac : Form
    {
        //
        #region insertPhuc
        public void loadDDLMatHang()
        {
            try
            {
                database.Open();
                SqlDataAdapter da = new SqlDataAdapter("select * from QL_MATHANG", database);
                DataTable dt = new DataTable();
                da.Fill(dt);
                if (dt.Rows.Count == 0)
                    return;
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    ddl_MatHang.Items.Add(dt.Rows[i][0].ToString().Trim());
                }
                database.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Thao tác quá nhanh, hãy thử lại! ");
            }
}
        public void insertHoaDon()
        {
            try
            {
                if (ddl_MatHang.SelectedIndex < 0)
                    return;
                database.Open();
                SqlCommand cmd = new SqlCommand("THEM", database);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@soluong", txtSoLuong.Text);
                cmd.Parameters.AddWithValue("@ngaydat", NgayDat.Value);
                cmd.Parameters.AddWithValue("@ngaygiao", NgayGiao.Value);
                cmd.Parameters.AddWithValue("@tenkh", txtTenKhachHang.Text);
                cmd.Parameters.AddWithValue("@tenmh", ddl_MatHang.SelectedItem.ToString());
                cmd.ExecuteNonQuery();
                database.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Thao tác quá nhanh, hãy thử lại! ");
            }
            
        }
        //
        public bool isNumber(string s)
        {
            for(int i = 0; i < s.Length; i++)
            {
                if (!char.IsDigit(s[i]))
                    return false;  
            }
            return true;
        }
        //
        private void Insert_Click(object sender, EventArgs e)
        {
            try
            {
                if (ddl_MatHang.SelectedIndex < 0 || txtTenKhachHang.Text.Equals("") || txtSoLuong.Text.Equals(""))
                {
                    MessageBox.Show("Không được để trống thông tin");
                    return;
                }
                if(NgayDat.Value > NgayGiao.Value)
                {
                    MessageBox.Show("Ngày giao không hợp lệ");
                    return;
                }
                if (!isNumber(txtSoLuong.Text.ToString()))
                {
                    MessageBox.Show("Số lượng không hợp lệ");
                    return;
                }
                insertHoaDon();
                MessageBox.Show("Tạo hóa đơn thành công! ");
                hienthi();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Da xay ra loi! ");
            }
            
        }
        public void EditMatHang()
        {
            try
            {
                if (ddl_MatHang.SelectedIndex < 0)
                    return;
                database.Open();
                SqlCommand cmd = new SqlCommand("SuaDonDatHang", database);
                cmd.CommandType = CommandType.StoredProcedure;
                int id = (int)dataGridView1.CurrentRow.Cells["cl_id"].Value;
                cmd.Parameters.AddWithValue("@id", id);
                cmd.Parameters.AddWithValue("@tenkh", txtTenKhachHang.Text);
                cmd.Parameters.AddWithValue("@soluong", txtSoLuong.Text);
                cmd.Parameters.AddWithValue("@ngaydat", NgayDat.Value);
                cmd.Parameters.AddWithValue("@ngaygiao", NgayGiao.Value);
                cmd.Parameters.AddWithValue("@tenmh", ddl_MatHang.SelectedItem.ToString());
                cmd.ExecuteNonQuery();
                database.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Thao tác quá nhanh, hãy thử lại! ");
            }
        }
        private void Edit_Click(object sender, EventArgs e)
        {
            try
            {
                if (ddl_MatHang.SelectedIndex < 0 || txtTenKhachHang.Text.Equals("") || txtSoLuong.Text.Equals(""))
                {
                    MessageBox.Show("Không được để trống thông tin");
                    return;
                }
                if (NgayDat.Value > NgayGiao.Value)
                {
                    MessageBox.Show("Ngày giao không hợp lệ");
                    return;
                }
                if (!isNumber(txtSoLuong.Text.ToString()))
                {
                    MessageBox.Show("Số lượng không hợp lệ");
                    return;
                }
                EditMatHang();
                MessageBox.Show("Sửa hóa đơn thành công !");
                hienthi();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Thao tác quá nhanh, hãy thử lại! ");
            }
}

        private void LuoiDuLieu_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                txtTenKhachHang.Text = Convert.ToString(dataGridView1.CurrentRow.Cells["cl_tenkhachhang"].Value);
                //txtTenMatHang.Text = Convert.ToString(dataGridView1.CurrentRow.Cells["cl_tenmathang"].Value);

                txtSoLuong.Text = Convert.ToString(dataGridView1.CurrentRow.Cells["cl_soluong"].Value);
                //NgayDat.Value = dataGridView1.CurrentRow.Cells["cl_ngaydat"].Value;
                // NgayGiao.Value = Convert.ToString(dataGridView1.CurrentRow.Cells["cl_ngaygiao"].Value);
                NgayDat.Value = Convert.ToDateTime(dataGridView1.CurrentRow.Cells["cl_ngaydat"].Value);
                NgayGiao.Value = Convert.ToDateTime(dataGridView1.CurrentRow.Cells["cl_ngaygiao"].Value);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Thao tác quá nhanh, hãy thử lại! ");
            }
        }
        //
        private void Delete_Click(object sender, EventArgs e)
        {
            try
            {
                if (MessageBox.Show("Bạn muốn xóa đơn hàng đang chọn ?", " Thông Báo", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
                {
                    xoadonhang();
                    MessageBox.Show("Xóa Đơn Hàng Thành Công", " Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    hienthi();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Thao tác quá nhanh, hãy thử lại! ");
            }
        }
        
        //
        #endregion
        //
        SqlConnection database = new SqlConnection(@"Server=.\SQLEXPRESS; Database=QL_BANHANG_GIOCHA; Integrated Security=True");
        public Form_ThaoTac()
        {
            InitializeComponent();
            loadDDLMatHang();
        }
        //
        #region CodecCreatbyDoan_DungDuoc
        public void hienthi()
        {
            database.Open();
            string sql = "select *From QL_DONDATHANG";
            SqlCommand cmd = new SqlCommand(sql, database);
            SqlDataReader dr = cmd.ExecuteReader();
            DataTable dt = new DataTable();
            dt.Load(dr);
            dataGridView1.DataSource = dt;
            database.Close();
        }
        public Boolean checkTenMH(string tenmh)
        {
            database.Open();
            SqlDataAdapter temp = new SqlDataAdapter("Select * From QL_MATHANG", database);
            DataTable tb = new DataTable();
            temp.Fill(tb);
            for (int i = 0; i < tb.Rows.Count; i++)
            {
                if (tb.Rows[i][0].ToString().Trim().Equals(tenmh))
                {
                    database.Close();
                    return true;
                }
            }
            database.Close();
            return false;
        }
        private void textBox1_TextChanged(object sender, EventArgs e)
        {

        }

        private void label6_Click(object sender, EventArgs e)
        {

        }

        private void label5_Click(object sender, EventArgs e)
        {

        }

        private void Form_ThaoTac_Load(object sender, EventArgs e)
        {
            hienthi();
        }

        private void button1_Click(object sender, EventArgs e)
        {

        }

        public void xoadonhang()
        {
            
            database.Open();
            SqlCommand cmd = new SqlCommand("XoaDonHang", database);
            cmd.CommandType = CommandType.StoredProcedure;
            int id = (int)dataGridView1.CurrentRow.Cells["cl_id"].Value;
            cmd.Parameters.AddWithValue("@id", id);
            cmd.ExecuteNonQuery();
            database.Close();
        }
        

        private void button3_Click(object sender, EventArgs e)
        {
            xoadonhang();
            MessageBox.Show("Xóa Đơn Hàng Thành Công", " Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
            hienthi();
        }
        #endregion
        //
        #region CodeBiLoai
        //private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
        //{

        //    txtTenKhachHang.Text = Convert.ToString(dataGridView1.CurrentRow.Cells["cl_tenkhachhang"].Value);
        //    txtTenMatHang.Text = Convert.ToString(dataGridView1.CurrentRow.Cells["cl_tenmathang"].Value);
        //    txtSoLuong.Text = Convert.ToString(dataGridView1.CurrentRow.Cells["cl_soluong"].Value);
        //    //NgayDat.Value = dataGridView1.CurrentRow.Cells["cl_ngaydat"].Value;
        //    // NgayGiao.Value = Convert.ToString(dataGridView1.CurrentRow.Cells["cl_ngaygiao"].Value);
        //    NgayDat.Value = Convert.ToDateTime(dataGridView1.CurrentRow.Cells["cl_ngaydat"].Value);
        //    NgayGiao.Value = Convert.ToDateTime(dataGridView1.CurrentRow.Cells["cl_ngaygiao"].Value);

        //}

        //public void them()
        //{

        //    database.Open();
        //    SqlCommand cmd = new SqlCommand("THEM", database);
        //    cmd.CommandType = CommandType.StoredProcedure;
        //    cmd.Parameters.AddWithValue("@soluong", txtSoLuong.Text);
        //    cmd.Parameters.AddWithValue("@ngaydat", NgayDat.Value);
        //    cmd.Parameters.AddWithValue("@ngaygiao", NgayGiao.Value);
        //    cmd.Parameters.AddWithValue("@tenkh", txtTenKhachHang.Text);
        //    cmd.Parameters.AddWithValue("@tenmh", txtTenMatHang.Text);
        //    //  cmd.CommandType = CommandType.StoredProcedure;
        //    cmd.ExecuteNonQuery();
        //    database.Close();
        //}
        //public void suadondathang()
        //{
        //    database.Open();
        //    SqlCommand cmd = new SqlCommand("SuaDonDatHang", database);
        //    cmd.CommandType = CommandType.StoredProcedure; 
        //    int id= (int)dataGridView1.CurrentRow.Cells["cl_id"].Value;
        //    cmd.Parameters.AddWithValue("@id", id);
        //    cmd.Parameters.AddWithValue("@tenkh", txtTenKhachHang.Text);
        //    cmd.Parameters.AddWithValue("@soluong", txtSoLuong.Text);
        //    cmd.Parameters.AddWithValue("@ngaydat", NgayDat.Value);
        //    cmd.Parameters.AddWithValue("@ngaygiao", NgayGiao.Value);
        //    cmd.Parameters.AddWithValue("@tenmh", txtTenMatHang.Text); 
        //    cmd.ExecuteNonQuery();
        //    database.Close();
        //}
        //private void button2_Click(object sender, EventArgs e)
        //{
        //    if (txtSoLuong.Text.ToString().Equals("") || txtTenMatHang.Text.ToString().Equals("") ||
        //         txtTenKhachHang.Text.ToString().Equals(""))
        //        MessageBox.Show("Nhập đầy đủ dữ liệu", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
        //    else

        //        if(checkTenMH(txtTenMatHang.Text.ToString())==false)
        //            MessageBox.Show("Tên mặt hàng không tồn tại","Thông báo",MessageBoxButtons.OK,MessageBoxIcon.Error);
        //        else
        //    {
        //        suadondathang();
        //        MessageBox.Show("Sửa đổi thành công", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
        //        hienthi();
        //    }
        //}
        #endregion
        //
    }
}
